世界建模助手
一套电脑程序工具,利用个人电脑的可访问性来扫描网络和P2P抓取互联网,帮助个人建立世界模型。
就像一个游戏——你登陆了某种网络,你的游戏帮助你定位并利用世界资源实现你的目标。
假设你买了一台电脑,然后安装了这个程序。该程序是一个工具而不是服务(有点像游戏化的、由BT(BitTorrent)支持的协作信息检索和实现的工具)。为了让游戏更有趣,程序会要求你设定你的目标和度量标准(以后我们会自动发现资源来支持这些目标,因此这些目标最初仅用于游戏目的),比如目标可以是 "找到一个朋友"。然后,你运行这个程序。它在后台运行,有命令行界面,可通过点击其托盘图标或命令弹出。
该程序开始协作扫描和映射可用的资源——从你的硬件到网络。收集初始信息,如硬件可用,使用已知的位置和现有的软件,如路径 /proc
、nmap
、bluetoothctl
、nmcli
、机器脚本和局域网信息,识别3个主要的地址空间:文件系统地址空间
,IP地址空间
,MAC地址空间
。然后,该程序利用 ipinfo.io
数据获取现有的自治系统信息,以及如何通过区域互联网注册机构(RIR)分配IP空间。然后,它利用ICANN集中区域数据服务来确定哪些域在互联网上公开可用:域名空间
。用户能够看到 域名空间
所覆盖的 IP空间
的百分比,并让其余的IP空间声明——未知。
此后,该程序允许选择任何网站,获取其结构化信息,如果这些信息已经被任何人在线抓取,那么这些数据就像通过BT下载电影一样容易。用户自己能够看到域名空间中的哪些网站被什么人抓取过,如果存在爬虫,可以启动新的抓取。
抓取的信息会根据被抓取的域名或IP的协议存储在本地。例如,如果我们使用MongoDB来存储抓取的数据,那么,如果是通过 HTTPS 从 1.1.1.1
在 443
端口抓取的,那么网页就会按照协议名保存到名为 HTTPS
的数据库中。如:
$ mongo
use HTTPS db['1.1.1.1:443'].insertOne({'hi': 'there'})
另外,程序会建议使用概念的本体词汇来映射保存到数据库的实体,以自由的形式将网站自己的概念映射到这个共享词汇中,用双冒号(::
)的标记,如下所示:
$ mongo
use HTTPS db['1.1.1.1:443/Page::resource:document'].insertOne({'hi': 'there'})
这里 /Page
是源系统中实体的名称,而 ::resource:document
是对所有分类系统中的类别进行分类的本体词汇。词汇表可能与 Network of Functions 这个概念中所描述的词汇表相同或相似,但却是一个版本控制和演变的主题。
例如,我建议网络资源词汇表的 V1 为。
{ '::category': ['.goal', '.concept', '.question'], '::system': ['.project', '.structure', '.mechanism', '.organization', '.person', '.process', '.api'], '::method': ['.idea', '.principle', '.function', '.invention', '.equipment', '.product', '.endpoint'], '::location': ['.address', '.account', '.url'], '::request': ['.CATEGORY', '.query', '.order', '.operation', '.task', '.call'], '::resource': ['.record', '.document', '.METHOD', '.SYSTEM'], }
在词汇表的这个版本中,命名是这样的:
$ mongo
> use HTTPS
> db['1.1.1.1:443/Page::v1/resource:document'].insertOne({'hi': 'there'})
注意:词汇表中大写的 .CATEGORY
、.METHOD
和 .SYSTEM
是别名,也就是说,如果你有一个 ::resource
看起来像系统,则不应该使用 ::resource
命名空间,而应该使用 ::system
命名空间。
这种方法的结果是,程序收集的本地数据库,有按协议命名的数据库,可能看起来像这样:
FTP 114.330GB
HTTP 5.340TB
HTTPS 153.481TB
IMAP 138.183GB
POP 11.380GB
XMPP 1.423GB
admin 0.000GB
config 0.000GB
local 0.027GB
你可以想象更多的协议,比如: TELNET
, SSH
, FTP
, SMTP
, DNS
, AMQP
, HTTPS:ATOM
, HTTPS:RSS
, BITCOIN
, BITTORRENT
, EDONKEY
, FREENET
, IRC
, IMAP
, IPFS
, LDAP
, HTTP
, HTTPS
, MIME
, MQTT
, NNTP
, NTCIP
, NTP
, POP
, RTP
, RTSP
, SIP
, SMPT
, TOR
, TOX
, XMPP
, Z3950
, TELEGRAM
, ETHEREUM
, HTTPS:GRAPHQL
, HTTPS:REST
, 等等。
爬虫各自会定义自己的名称来命名所爬取的项目对象,比如 /Page
,但使用共享词汇版本如 ::resource:document
来添加元数据,以备将来整理数据。
爬虫将存储在公共的git库中,而抓取的数据将作为BT种子共享。世界映射助手这种方式会自动将抓取的数据作为种子,人们可以快速获取互联网的结构化数据,用于计算、扩展和运营。
后续思路:
- 可以通过监测人们访问了哪些网站、访问了多少次来生成爬网线索,为用户统计出什么样的来源可能会有兴趣自动抓取。很容易用浏览器插件来实现,但也可能用监测自己操作系统的流量来完成。
Is this idea in the realm of Web 4.0? (I.e., "Intelligent personal agents")
您忘了提及无线电频谱中的任何扫描仪。
You forgot to mention any scanner in the radio frequency spectrum.
关于GNU-Radio,gqrx-sdr和gqrx-scanner?有关使用无线电波寻求朋友的相关想法: https://ieeexplore.ieee.org/abstract/document/5641096
What about GNU-Radio, gqrx-sdr and gqrx-scanner ? Related thoughts on friend-seeking using radio waves: https://ieeexplore.ieee.org/abstract/document/5641096
根据lifeboat对web3.0的描述:“ 例如使用语义网络、微格式、自然语言搜索、数据挖掘、机器学习、推荐代理和人工智能技术的服务——这些服务强调机器对信息的理解,以提供更有效和直观的用户体验”,这个建模助手正是在建造web3.0!
嗯是的如果添加了以任意协议发送信号的功能,则可以将这种助手扩展为“通用对等体”(即,您不需要以太坊对等体,因为您是通用对等体,并可以自由决定哪个协议定义的对等体-group与之协作)。互联网已经去中心化,只是同行规模分布偏斜(倾向于遵循幂定律),就像财富分配一样,很少有很大的规模具有大量资源的节点,而大多数节点则资源很少。
Umm, yeah. If you add the capability to send signals in arbitrary protocol, such assistant could be extended to a "universal peer" (i.e., you don't need Ethereum peer, because you are the universal peer, and free to decide which protocol-defined peer-group to collaborate with). The Internet is already decentralized, it's just that the peer size distribution is skewed (tend to follow power law), just like wealth distribution, with very few very big nodes with lots of resources, and most nodes with little resources.